Context-aware counter abstraction
نویسندگان
چکیده
The trend towards multi-core computing has made concurrent software an important target of computer-aided verification. Unfortunately, Model Checkers for such software suffer tremendously from combinatorial state space explosion. We show how to apply counter abstraction to real-world concurrent programs to factor out redundancy due to thread replication. The traditional global state representation as a vector of local states is replaced by a vector of thread counters, one per local state. In practice, straightforward implementations of this idea are unfavorably sensitive to the number of local states. We present a novel symbolic exploration algorithm that avoids this problem by carefully scheduling which counters to track at any moment during the search. We have carried out experiments on Boolean programs, an abstraction promoted by the success of the SLAM project. The experiments give evidence of the applicability of our method to realistic programs, and of the often huge savings obtained in comparison to plain symbolic state space exploration, and to exploration optimized by partial-order methods. To our knowledge, our tool marks the first implementation of counter abstraction to programs with non-trivial local state spaces, resulting in a Model Checker for concurrent Boolean programs that promises true scalability.
منابع مشابه
Boom: Taking Boolean Program Model Checking One Step Further
Abstract. We present Boom, a comprehensive analysis tool for Boolean programs. We focus in this paper on model-checking non-recursive concurrent programs. Boom implements a recent variant of counter abstraction, where thread counters are used in a program-context aware way. While designed for bounded counters, this method also integrates well with the Karp-Miller tree construction for vector ad...
متن کاملPartial Predicate Abstraction and Counter-Example Guided Refinement
In this paper we present a counter-example guided abstraction and approximation refinement (CEGAAR) technique for {\em partial predicate abstraction}, which combines predicate abstraction and fixpoint approximations for model checking infinite-state systems. The proposed approach incrementally considers growing sets of predicates for abstraction refinement. The novelty of the approach stems fro...
متن کاملA context-aware preference database system
A context-aware system is a system that uses context to provide relevant information or services to its users. While there has been a variety of context middleware infrastructures and context-aware applications, little work has been done on integrating context into database management systems. In this paper, we consider a preference database system that supports context-aware queries, that is, ...
متن کاملOn Uncertainty in Context-Aware Computing: Appealing to High-Level and Same-Level Context for Low-Level Context Verification1
There is an inherent chasm between the real-world and the world that can be perceived by computer systems, yielding uncertainty and ambiguity in system perceived context, with consequent effect on the performance of context-aware systems. While the problem is complex in depth and breadth, we explore an approach where context is characterized at different levels of abstraction, and where context...
متن کاملInfrastructural Support for Dynamic Context Bindings
Research in context-aware systems shows that using context information enables the development of personalized mobile applications. The context acquisition process in a context-aware (CA) system consists of two main roles: context producing entities (e.g. wrapped sensors) and context consuming entities (e.g. CA application). A CA system can be seen as a hierarchy of associated context producers...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- Formal Methods in System Design
دوره 36 شماره
صفحات -
تاریخ انتشار 2010